1. Field of the Invention
The present invention relates generally to data encryption, and more particularly to a system, method, and program product for transparent real-time access to encrypted non-relational data.
2. Description of the Related Art
Organizations, such as banks and large companies, often engage in high-volume electronic transactions involving the transmission, access, and storage of sensitive information that has a specific order and is of a specific length (i.e., non-relational data) over a computer network. The sensitive information may include bank account information, credit card information, and social security numbers. In addition, certain employees of the organizations may have access to the sensitive information. In order to protect the sensitive information from unauthorized use and to stay in compliance with government data security laws, data encryption is utilized to transform the sensitive information into encrypted data.
Data encryption is a method of converting readable data (plaintext) into unreadable characters (ciphertext), which can prevent unauthorized access and use of the sensitive information. Ciphertext, also called encrypted data or scrambled data, can be stored on a computer readable tangible storage device, such as a hard disk, or transmitted over a network, for example, via an e-mail message by a sender to a recipient. Additionally, numerous existing application programs of an organization, which may have been used for many years and that handle the sensitive information in plaintext form, may require updating so that the application programs can access an encrypted version of the sensitive information.
Currently, in order to update the organization's application programs that handle the sensitive information, the application programs may need to be programmatically customized so that the application programs are capable of accessing encrypted data. However, programmatically customizing the application programs so that they are capable of accessing encrypted data can be very costly and time consuming for organizations that have a large number of application programs. Moreover, oftentimes source code of the application programs is not readily available for organizations wanting to programmatically customize the application programs. Even after the source code is found numerous programmatic customizations in multiple places of the source code may be required, as well as programmatic customizations to other computer systems that the application programs communicate with.